Реверс-инжиниринг: работа с уязвимостями от Otus
Вы научитесь
Программа курса
Курс продлится 5 месяцев. За это время вы отсмотрите 140 часов теории и отработаете все знания на углублённой практике в каждом образовательном блоке.
Низкоуровневое программирование на ассемблер под x8086/x64.
Поработаете с группами регистров. Узнаете, что такое оборачивание адресов. Научитесь применять базовые команды ЯА, пересылать данные. Разберётесь в других командах. Узнаете, как правильно работать со строками. Сможете создавать подпрограммы с локальными переменными. Рассмотрите опкоды комманд. Узнаете, что такое перехватка прерывания в секторах. Исследуете структуру.
Поработаете с группами регистров. Узнаете, что такое оборачивание адресов.
Научитесь применять базовые команды ЯА, пересылать данные.
Разберётесь в других командах.
Узнаете, как правильно работать со строками.
Сможете создавать подпрограммы с локальными переменными.
Рассмотрите опкоды комманд.
Узнаете, что такое перехватка прерывания в секторах.
Исследуете структуру.
Низкоуровневое программирование на ассемблер под MIPS.
Поработаете с регистрами и командами, их опкодами и эмуляторами. Закрепите новые знания на практике.
Поработаете с регистрами и командами, их опкодами и эмуляторами. Закрепите новые знания на практике.
Защищённый режим процессора
Узнаете, что такое сегментная организация памяти и какие режимы работы процессора необходимо уметь выполнять. Научитесь работать с принципом работы страничной организации памяти. Познакомитесь с дескрипторами.
Узнаете, что такое сегментная организация памяти и какие режимы работы процессора необходимо уметь выполнять.
Научитесь работать с принципом работы страничной организации памяти.
Познакомитесь с дескрипторами.
Внутреннее устройство Windows
Узнаете, что такое устройство Windows и объекты ядер. Поработаете с выделением подкачиваемой памяти. Узнаете, что такое абстракция объектов ядра.
Узнаете, что такое устройство Windows и объекты ядер.
Поработаете с выделением подкачиваемой памяти.
Узнаете, что такое абстракция объектов ядра.
Системное программирование
Научитесь работать со структурой формата. Узнаете, как просматривать её вручную. Поймёте, что такое фиксапы и как искать их. Поставите хуки и события. Узнаете, зачем он нужен. Поработаете над созданием кода и его выполнением до входа пользователя. Узнаете, как правильно искать вредоносные софты. Создадите свою тест-службу. Соберёте драйвер.
Научитесь работать со структурой формата.
Узнаете, как просматривать её вручную.
Поймёте, что такое фиксапы и как искать их.
Поставите хуки и события.
Узнаете, зачем он нужен.
Поработаете над созданием кода и его выполнением до входа пользователя.
Узнаете, как правильно искать вредоносные софты.
Создадите свою тест-службу.
Соберёте драйвер.
Обратная разработка программ
Будете производить распаковку. Освоите его проведение. Узнаете о таком типе, как шелкоды, и напишете его. Покажете навыки распаковки программ и приложений вручную. Продемонстрируете умения анализа. Завершите практику на модуле этим заданием. Сможете узнать о корне проблемы. Поймёте, какова причина этой уязвимости. Поймёте, какие шаги проходит буткит.
Будете производить распаковку.
Освоите его проведение.
Узнаете о таком типе, как шелкоды, и напишете его.
Покажете навыки распаковки программ и приложений вручную.
Продемонстрируете умения анализа.
Завершите практику на модуле этим заданием.
Сможете узнать о корне проблемы.
Поймёте, какова причина этой уязвимости.
Поймёте, какие шаги проходит буткит.
Проектный модуль
Выберете тему, которую раскроете в процессе создания итогового проекта. Пообщаетесь о ДЗ с экспертами. Продемонстрируете результат своей работы.
Выберете тему, которую раскроете в процессе создания итогового проекта.
Пообщаетесь о ДЗ с экспертами.
Продемонстрируете результат своей работы.